package zone

import "time"

/**
 * @inventory inventory for zone
 * @example {
 * "uuid": "b729da71b1c7412781d5de22229d5e17",
 * "name": "TestZone",
 * "description": "Test",
 * "state": "Enabled",
 * "type": "zstack",
 * "createDate": "Apr 25, 2014 6:04:52 PM",
 * "lastOpDate": "Apr 25, 2014 6:04:52 PM"
 * }
 * @since 0.1.0
 */

//	 @Inventory(mappingVOClass = ZoneVO.class)
//	 @PythonClassInventory
//	 @ExpandedQueries({
//			 @ExpandedQuery(expandedField = "vmInstance", inventoryClass = VmInstanceInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "cluster", inventoryClass = ClusterInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "host", inventoryClass = HostInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "primaryStorage", inventoryClass = PrimaryStorageInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "l2Network", inventoryClass = L2NetworkInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "l3Network", inventoryClass = L3NetworkInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid"),
//			 @ExpandedQuery(expandedField = "backupStorageRef", inventoryClass = BackupStorageZoneRefInventory.class,
//					 foreignKey = "uuid", expandedInventoryKey = "zoneUuid", hidden = true),
//	 })
//	 @ExpandedQueryAliases({
//			 @ExpandedQueryAlias(alias = "backupStorage", expandedField = "backupStorageRef.backupStorage")
//	 })
type ZoneInventory struct {
	Uuid        string
	Name        string
	Description string
	State       string
	Type        string
	CreateDate  time.Time
	LastOpDate  time.Time
}
